package com.frejoys.dao.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.frejoys.common.dto.app.UserWalletLogPageDto;
import com.frejoys.common.vo.app.UserWalletLogListVo;
import com.frejoys.common.vo.app.UserWalletLogPageVo;
import com.frejoys.dao.entity.UserWalletLog;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;

import java.math.BigDecimal;
import java.util.List;

public interface UserWalletLogMapper extends BaseMapper<UserWalletLog> {

    //后台分页查询用户钱包信息
    List<UserWalletLogPageVo> selectPageWalletLog(Page<UserWalletLogPageVo> page,@Param("dto") UserWalletLogPageDto dto);

    // 更新提现状态
    @Update("update j_user_wallet_log set update_time=#{updateTime},status=#{newStatus} where id=#{id} and status=#{oldStatus}")
    boolean upCashStatus(@Param("id") Integer id, @Param("updateTime") Integer updateTime, @Param("oldStatus") Integer oldStatus, @Param("newStatus") Integer newStatus);

    //余额记录
    List<UserWalletLog> userWalletRemainingSum(@Param("page") Page page,@Param("userId") Long userId,@Param("startTime") int startTime,@Param("endTime") int endTime,@Param("toRebateType") Integer toRebateType,@Param("toAgentType") Integer toAgentType,@Param("cashType") Integer cashType);

    //获取钱包记录
    List<UserWalletLog> userWalletLogListInfo(@Param("page")Page page,@Param("userId") Long userId,@Param("startTime") int startTime,@Param("endTime") int endTime,@Param("start") Integer start,@Param("end") Integer end);
}
